!/bin/bash
# shebang行
# 输出提示信息
echo "This is app_info.sh"

# 设置服务器地址
nginx_server='http://124.220.164.8:80'
mysql_server='http://124.220.164.8'

# 声明函数
Nginx_info(){
	# 连接Nginx
	status_code=$(curl -m 5 -s -w %{http_code} http://124.220.164.8/nginx_status -o /dev/null)
	# 如果连接失败，输出错误信息
	if [ "$status_code" -eq "000" -o  "$status_code" -ge "500" ]; then
		echo -e "Check Nginx Server Errror!"
		echo -e "Response Status Code is:" "$status_code"
	# 如果连接成功，输出nginx的状态信息
	else
		echo -e "Check Nginx Sever OK!"
		# 将服务器的状态重定向到文件
		curl -s http://124.220.164.8/nginx_status > /tmp/nginx_status
		# 查看文件
		cat /tmp/nginx_status
		# 删除文件
		rm -f /tmp/nginx_status
	fi
}

# 声明函数
MySQL_info(){
	# nc (Netcat) -z使用0输入输出模式  -w设置超时的秒数
	# 命令找不到的时候，报错值为127
	# 文件找不到的时候结果为2
	nc -z -w2 124.220.164.8 3306
	# 如果连接成功
	if [ $? -eq 0 ]; then
		# 输出提示信息
		echo -e "Connect MySQL server ${mysql_server}:3306 OK!"
		# 2>代表标准错误重定向
		# mysql -e使用shell脚本执行sql语句
		# head -1表示查看第一行
		# 获取时间戳
		mysql_uptimes=$(mysql -uroot -pHsj110915::: -h124.220.164.8 -e "show status" 2>/dev/null | grep 'Uptime' | head -1 | awk '{print $2}')
		echo -e "1.MySQL Uptime: "${mysql_uptimes}
		echo -e "2.MySQL Uptime:"$(mysql -uroot -pHsj110915::: -h124.220.164.8 -e "show status" 2>/dev/null | grep 'Uptime' | head -1 | awk '{print $2}')
	else
	#连接失败返回错误信息
		echo -e "Connnect MySQL Server ${mysql_server}:3306 Failure!"
	fi 
}

#调用函数
Nginx_info
MySQL_info
